A blockchain is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a cryptographic hash of the previous block, a timestamp, and transaction data. By design, a blockchain is inherently resistant to modification of the data. It is an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way. For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks, which requires collusion of the network majority.
Blockchains are secure by design and are an example of a distributed computing system with high Byzantine fault tolerance. Decentralized consensus has therefore, been achieved with a blockchain. This makes blockchains potentially suitable for the recording of events, medical records, and other records management activities, such as identity management, transaction processing, documenting provenance, food traceability, or voting.
The first work on a cryptographically secured chain of blocks was described in 1991 by Stuart Haber and W. Scott Stornetta. In 1992, Bayer, Haber, and Stornetta incorporated Merkle trees to the design, which improved its efficiency by allowing several documents to be collected into one block. In 2002, David Mazières and Dennis Shasha proposed a network file system with decentralized trust: writers to the file system trust one another but not the network in between; they achieve file system integrity by writing signed commits to a shared, append-only signature chain that captures the root of the file system (which in turn is a Merkle Tree). This system can be viewed as a proto-blockchain in which all authorized clients can always write, whereas, in modern blockchains, a client who solves a cryptographic puzzle can write one block. In 2005, Nick Szabo proposed a blockchain-like system for decentralized property titles and his “bit-gold” payment system that utilized chained proof-of-work and timestamping. However, Szabo's method of double-spending protection was vulnerable to Sybil attacks.
Blockchain was conceptualized in 2008 by Satoshi Nakamoto and implemented in 2009 as a core component of Bitcoin's public transaction ledger. The invention of the blockchain for Bitcoin made it the first digital currency to solve the double spending problem without the need of a trusted authority or central server. The bitcoin design has been the inspiration for other applications. Current implementations of bitcoin have a variety of drawbacks limiting its desirability and usefulness. Bitcoin blockchains are currently vulnerable to theft due to their manner of storage on single nodes. Further, bitcoins blockchains are not encrypted allowing anyone to see the transaction history.